/**
 * 静态代码块:
 *      格式：类中方法外，static {}
 *      特点：类加载时自动执行，由于类只会加载一次，所以静态代码块也只会执行一次。
 *      作用：完成类的初始化，例如：对类变量的初始化赋值。
 * 实例代码块:
 *      格式：{}
 *      特点：每次创建对象时，执行实例代码块，并在构造器前执行
 *      作用：和构造器一样，都是用来完成对象的初始化的, 例如：对实例变量进行初始化赋值，抽取构造方法中的共性
 * 局部代码块：
 *      格式：方法中定义大括号
 *      限定变量的生命周期
 */
public class Test {
    static {
        System.out.println("static block executed");
    }

    {
        System.out.println("instance block executed");
    }

    public Test() {
        System.out.println("constructor executed");
    }
}
